﻿using System;
using System.Collections;
using System.Configuration;
using System.Data;
using System.Linq;
using System.Web;
using System.Web.Security;
using System.Web.UI;
using System.Web.UI.HtmlControls;
using System.Web.UI.WebControls;
using System.Web.UI.WebControls.WebParts;
using System.Xml.Linq;

public partial class Retorno : System.Web.UI.Page {

    protected void Page_Load(object sender, EventArgs e) {
        
    }
    
    protected void RetornoPagSeguro1_VendaEfetuada(PagamentoDigital.RetornoVenda retornoVenda) {
        //Obtendo o número do Pedido
        int codigo_pedido = int.Parse(retornoVenda.IdPedido);

        //Obtendo o código da transação no Pagamento Digital
        long codigo_transacao = retornoVenda.IdTransacao;

        //Obtendo o novo status do pedido
        PagamentoDigital.StatusTransacao status = retornoVenda.Status;

        //Obtendo a forma de pagamento utilizada
        PagamentoDigital.MeioPagamento forma_pagamento = retornoVenda.TipoPagamento;

        //Obtendo o valor pago pelo frete
        double frete_cobrado = retornoVenda.ValorFrete;

        //Obtendo a anotação deixada pelo cliente no momento do pagamento
        string dados_adicionais = retornoVenda.Free;

        //Atualizando na base de dados o status do pedido e as outras informações
        AcessoDados.Instancia.AtualizarVenda(codigo_pedido, codigo_transacao, status, forma_pagamento, frete_cobrado, dados_adicionais);
    }

    protected void RetornoPagSeguro1_VendaNaoAutenticada(object sender, PagamentoDigital.VendaNaoAutenticadaEventArgs e) {
        //Aqui dispara quando o Pagamento Digital retorna algo diferente de verificado
    }

    protected void RetornoPagSeguro1_FalhaProcessarRetorno(object sender, PagamentoDigital.FalhaProcessarRetornoEventArgs e) {
        //Aqui dispara quando dá algum problema de parse nos dados
    }
    protected void RetornoPagSeguro1_RetornoVerificado(object sender, PagamentoDigital.VendaAutenticadaEventArgs e) {
        //Aqui dispara quando é obtido o retorno VERIFICADO do Pagamento Digital. Este método é disparado antes do RetornoPagamentoDigital1_VendaEfetuada
    }
}
